import { constructMockData } from '@/mock/mock'
import { AxiosRequestConfig } from 'axios'
import { dayjs } from 'element-plus'
import Mock from 'mockjs'
/**
 * @description 来源分析-站外来源数据
 */
export const offsiteSourceRes = (config: AxiosRequestConfig<any>) => {
  const { dateRange, type } = JSON.parse(config.data)
  // 计算需要多少天的数据
  const [startDate, endDate] = dateRange
  const diffDays = dayjs(endDate).diff(startDate, 'day') + 1
  // 生成数据
  const data = Array.from({ length: diffDays }).map((item, index) => {
    return {
      type,
      date: dayjs(startDate).add(index, 'day').format('YYYY-MM-DD'),
      // 搜索引擎UV
      searchEngineUV: Mock.Random.integer(0, 1000),
      // 微博UV
      weiboUV: Mock.Random.integer(0, 1000),
      // 微信UV
      wechatUV: Mock.Random.integer(0, 1000),
      //直访UV
      directUV: Mock.Random.integer(0, 1000),
      //其他UV
      otherUV: Mock.Random.integer(0, 1000),
    }
  })
  return constructMockData(data)
}
/**
 * @description 来源分析-站外来源数据
 */
export const inStationSourceRes = (config: AxiosRequestConfig<any>) => {
  const { dateRange, type } = JSON.parse(config.data)
  // 计算需要多少天的数据
  const [startDate, endDate] = dateRange
  const diffDays = dayjs(endDate).diff(startDate, 'day') + 1
  // 生成数据
  const data = Array.from({ length: diffDays }).map((item, index) => {
    return {
      type,
      date: dayjs(startDate).add(index, 'day').format('YYYY-MM-DD'),
      // BannerUV
      bannerUV: Mock.Random.integer(0, 1000),
      // 文字链UV
      textLinkUV: Mock.Random.integer(0, 1000),
      // 功能插件UV
      functionPluginUV: Mock.Random.integer(0, 1000),
      // 产品UV
      productUV: Mock.Random.integer(0, 1000),
      // 其他UV
      otherUV: Mock.Random.integer(0, 1000),
    }
  })
  return constructMockData(data)
}
/**
 * @description 来源分析-站外来源数据
 */
export const uidSourceRes = (config: AxiosRequestConfig<any>) => {
  const { dateRange, type } = JSON.parse(config.data)
  // 计算需要多少天的数据
  const [startDate, endDate] = dateRange
  const diffDays = dayjs(endDate).diff(startDate, 'day') + 1
  // 生成数据
  const data = Array.from({ length: diffDays }).map((item, index) => {
    return {
      type,
      date: dayjs(startDate).add(index, 'day').format('YYYY-MM-DD'),
      // 关注概念渠道
      followConceptChannel: Mock.Random.integer(0, 1000),
      // 投资易50 渠道
      investEasy50Channel: Mock.Random.integer(0, 1000),
      // 多空热股渠道
      longShortHotStockChannel: Mock.Random.integer(0, 1000),
      // 数策选股渠道
      dataStrategyStockChannel: Mock.Random.integer(0, 1000),
      // 大数据诊股渠道
      bigDataDiagnosisStockChannel: Mock.Random.integer(0, 1000),
      // 其他渠道
      otherChannel: Mock.Random.integer(0, 1000),
    }
  })
  return constructMockData(data)
}
